#include "fr_device_pa.h"

bool pa_enable_flag = false;

void device_pa_init(void)
{
    GPIO_InitTypeDef gpio_config;

    __SYSTEM_GPIOA_CLK_ENABLE();

    gpio_config.Pin = GPIO_PIN_6;
    gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
    gpio_config.Pull = GPIO_PULLDOWN;
    gpio_config.Alternate = GPIO_FUNCTION_0;

    gpio_init(GPIOA, &gpio_config);
    
    pa_enable_flag = false;
    gpio_write_pin(GPIOA, GPIO_PIN_6, GPIO_PIN_CLEAR);  //default：output low
}

void device_pa_enable(void)
{
    if(pa_enable_flag == false){
        printf("PA enable\r\n");
        pa_enable_flag = true;
        gpio_write_pin(GPIOA, GPIO_PIN_6, GPIO_PIN_SET);  //output high    
    }
}

void device_pa_disable(void)
{
    if(pa_enable_flag == true){
        printf("PA disable\r\n");
        pa_enable_flag = false;
        gpio_write_pin(GPIOA, GPIO_PIN_6, GPIO_PIN_CLEAR);  //output low    
    }
}
